#This file is part of ElectricEye.
#SPDX-License-Identifier: Apache-2.0

#Licensed to the Apache Software Foundation (ASF) under one
#or more contributor license agreements.  See the NOTICE file
#distributed with this work for additional information
#regarding copyright ownership.  The ASF licenses this file
#to you under the Apache License, Version 2.0 (the
#"License"); you may not use this file except in compliance
#with the License.  You may obtain a copy of the License at

#http://www.apache.org/licenses/LICENSE-2.0

#Unless required by applicable law or agreed to in writing,
#software distributed under the License is distributed on an
#"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
#KIND, either express or implied.  See the License for the
#specific language governing permissions and limitations
#under the License.
from processor.outputs.output_base import ElectricEyeOutput

def process_findings(findings: list, outputs: list, **kwargs):
    """Process all findings from json file and send to outputs sepecified"""
    for output in outputs:
        try:
            ElectricEyeOutput.get_provider(output)().write_findings(findings=findings, **kwargs)
        except Exception as e:
            print(f"Error writing output: {e}")
            raise e

def get_providers():
    return ElectricEyeOutput.get_all_providers()